package chai.ningning.creation;

public class ThreadTest3 {

    // 使用嵌套类实现了java.lang.Runnable 接口并实现其中的run方法
    static class PrimeNumber implements Runnable{

        private int bound;

        public PrimeNumber(int bound) {
            this.bound = bound;
        }

        private boolean isPrime(int n){
            for (int i = 2; i < n; i++) {
                if(n % i ==0){
                   return false;
                }
            }
            return true;
        }
        @Override
        public void run() {
            for (int i = 2; i < bound; i++) {
                if (isPrime(i)){
                    System.out.print(i + " ");
                }
            }
        }
    }

    /**
     * java.lang.Object 和 java.lang.Runnable 接口中都没有声明 start 方法
     * target.start() ；//Cannot resolve method 'start' in 'Runnable'
     *
     * 创建Thread 实例，（可以创建Thread类的实例，也可以创建Thread子类的实例）
     */
    public static void main(String[] args) {

        //创建Runnable实例（本质上是创建其实现类的实例）
        Runnable target = new PrimeNumber(100);

        Thread thread = new Thread( target);

        thread.start();
    }
}
